package karaoke.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

import junit.framework.Assert;

import karaoke.excepcion.DAOExcepcion;
import karaoke.modelo.JsonResult;
import karaoke.modelo.Local;
import karaoke.modelo.Administrador;
import karaoke.negocio.GestionLocales;
import karaoke.negocio.GestionAdministradores;

/**
 * Servlet implementation class LocalModificarServlet
 */
@WebServlet("/admin/LocalModificarServlet")
public class LocalModificarServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public LocalModificarServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		Gson gson = new Gson();
		JsonResult result = new JsonResult();
		String message = "";
		int tipoMsg = JsonResult.WARNING;

		
	    int idLocal = Integer.parseInt(request.getParameter("ModId"));
	    String nombreLocal = request.getParameter("ModNombre");
	    String direccion = request.getParameter("ModDireccion");
	    String telefono = request.getParameter("ModTelefono");
	    String correo = request.getParameter("ModCorreo");
	    String descripcion = request.getParameter("ModDescripcion");
	    String estadoLocal = request.getParameter("ModEliminado");
	    int idAdministrador = Integer.parseInt(request.getParameter("ModidAdministrador"));
	    boolean eLog=false;
	    
        Local local = null;
		GestionLocales negocio = new GestionLocales();
		GestionAdministradores negocioAdministradores = new GestionAdministradores();
        if(estadoLocal.equals("Eliminado")){eLog=true;}else{eLog=false;}
		try {
			Administrador administrador=negocioAdministradores.obtenerPorID(idAdministrador);
			negocio.actualizar(idLocal,nombreLocal,direccion,telefono,correo,descripcion,eLog,administrador);
		
			Local nuevo = negocio.obtener(idLocal);
			if (nuevo!=null) {
					tipoMsg = JsonResult.SUCCESS;
					message = "["+nuevo.getIdlocal()+"] Se actualizo satisfactoriamente";
				} else {
					tipoMsg = JsonResult.ERROR;
					message = "No se pudo actualizar";
			}

		
		} catch (DAOExcepcion e) {
			message = e.getMessage();
	
		}
		
		// Guardando datos en el scope REQUEST
		// Guardando datos en el scope REQUEST
	 	result.addMenssage(tipoMsg, message);
		
	    PrintWriter out = response.getWriter();
		out.println(gson.toJson(result));       
       
	
   } //DoPost


}
